主题
YOLO 模块总览 - Overview
基于 YOLO 的深度学习推理模块,支持 Detect / Classify / Segment / Pose / Obb 五类任务,后端支持 ONNX、TensorRT、NCNN。导出 ONNX / TensorRT Engine / NCNN 权重时,文件名或元数据中的 family 标识对应下表架构;加载时须与 InferenceType(任务类型)一致。
YOLO 为独立授权项目,Reg和Login接口的FeatureList需要配置YOLO特性才可以激活相关功能
本分类做什么
| 任务 | inferenceType | 典型输出 |
|---|---|---|
| 目标检测 Detect | 0 | 轴对齐框、类别、置信度 |
| 图像分类 Classify | 1 | Top-K 类别与分数(无 bbox) |
| 实例分割 Segment | 2 | 框 + 掩码轮廓 MaskVertices |
| 姿态估计 Pose | 3 | 人体框 + Keypoints |
| 旋转框 Obb | 4 | 旋转四边形 + Angle |
输入一般为 屏幕区域、图像句柄(与 LoadImage 衔接)或 图片路径;confidence / iou / topK 等含义见 推理输入参数说明;输出为 PascalCase JSON(见 推理结果JSON说明)。
支持的模型架构
| # | 英文标识 (family) | 中文常用说法 | 简要说明 |
|---|---|---|---|
| 1 | YOLOv3 | YOLOv3 系列 | 早期 Ultralytics 统一版(如 yolov3u.pt) |
| 2 | YOLOv5 | YOLOv5 系列 | 经典检测主干(如 yolov5nu.pt) |
| 3 | YOLOv6 | YOLOv6 系列 | 美团 YOLOv6(如 yolov6n.pt) |
| 4 | YOLOv7 | YOLOv7 系列 | WongKinYiu YOLOv7(如 yolov7-tiny.pt) |
| 5 | YOLOv8 | YOLOv8 系列 | Ultralytics 主力一代(yolov8n*) |
| 6 | YOLOv9 | YOLOv9 系列 | YOLOv9(如 yolov9c.pt) |
| 7 | YOLOv10 | YOLOv10 系列 | 无 NMS 端到端检测(yolov10n.pt) |
| 8 | YOLO11 | YOLO11 系列 | Ultralytics YOLO11(yolo11n*) |
| 9 | YOLO12 | YOLO12 系列 | YOLO12 架构(yolo12n.pt 等) |
| 10 | YOLO26 | YOLO26 系列 | 新一代 Ultralytics YOLO26(yolo26n*) |
| 11 | YOLO-World | YOLO-World 系列 | 开放词汇 / 世界模型(如 yolov8s-worldv2.pt) |
| 12 | YOLOE | YOLOE 系列 | 高效开放词汇 YOLOE(如 yoloe-11s-seg-pf.pt) |
| 13 | YOLO-Master | YOLO-Master 系列 | 腾讯 YOLO-Master 统一框架 |
同一 family 下可有 Detect / Classify / Segment / Pose / Obb 等不同任务权重;以导出时的任务后缀与 ModelInfo 中的
InferenceType为准。
与「图像识别 Match/Find」的差异
| 对比项 | YOLO(本分类) | 图像识别 Match/Find |
|---|---|---|
| 依据 | 深度学习模型,多类别 | 模板相似度 或 色差扫描 |
| 模板 | 需 权重/加密包 | 用户提供 小图模板 |
| 适用 | 类别多、形变光照大 | 固定 UI 图标、模板稳定 |
选型:UI 固定且可截模板 → Match 往往更轻;多类物体、形变大 → YOLO。
典型流水线
- YoloLoadModelEx 或 YoloLoadModel 得到
modelHandle(可选传入 类别名称表)。 - 可选:YoloSetModelConfig、YoloSetModelConfigByKey、YoloGetModelInfo。
- GetScreenDataPtr / LoadImage 或直接屏幕/文件推理。
- 调用对应
YoloDetect*/YoloClassify*/ …,解析 推理结果 JSON 后 FreeStringPtr。 - YoloReleaseModel 释放句柄。
模型类型与设备
modelType:0 TensorRT Engine,1 ONNX,2 NCNN(.bin + .param)。
inferenceType:0 Detect,1 Classify,2 Segment,3 Pose,4 Obb;加载时须与权重任务一致。
inferenceDevice:-1 CPU;0+ GPU 索引;不可用时可能回退 CPU(见 ModelInfo 的 ProviderFallbackReason)。
类别名称表(namesLabel):可选;支持文件路径、内联 | 分隔、多行文本;ASCII / UTF-8 / GBK / UTF-16 BOM 自动识别。详见 类别名称表说明。
加密包
可使用 YoloEncryptModel 打包分发,运行时 YoloLoadModel 加载。
文档索引
约定与说明
- 类别名称表说明(namesLabel / labelData)
- 推理结果 JSON 说明
- 推理输入参数说明
- ModelInfo 与 ModelConfig 说明
- YOLO 错误码说明(加载/加解密/配置失败时的负错误码;句柄成功请用
> 0判断)
模型加载
| 接口 | 说明 |
|---|---|
| YoloLoadModel | 磁盘加密包 |
| YoloLoadModelEx | 磁盘明文 |
| YoloLoadModelMemory | 内存加密包 |
| YoloLoadModelMemoryEx | 内存明文 |
模型包加解密
| 接口 | 说明 |
|---|---|
| YoloEncryptModel | 加密到文件 |
| YoloEncryptModelEx | 加密到内存 |
| YoloDecryptModel | 解密到文件 |
| YoloDecryptModelEx | 解密到内存 |
模型管理
| 接口 | 说明 |
|---|---|
| YoloReleaseModel | 卸载 |
| YoloListModels | 列表 |
| YoloGetModelInfo | 元数据 |
| YoloSetModelConfig | 写配置(JSON 对象) |
| YoloSetModelConfigByKey | 写配置(单键) |
| YoloGetModelConfig | 读配置 |
目标检测 Detect
| 接口 | 输入 |
|---|---|
| YoloDetect | 屏幕区域 |
| YoloDetectFromPtr | 图像句柄 |
| YoloDetectFromFile | 文件路径 |
图像分类 Classify
| 接口 | 输入 |
|---|---|
| YoloClassify | 屏幕区域 |
| YoloClassifyFromPtr | 图像句柄 |
| YoloClassifyFromFile | 文件路径 |
实例分割 Segment
| 接口 | 输入 |
|---|---|
| YoloSegment | 屏幕区域 |
| YoloSegmentFromPtr | 图像句柄 |
| YoloSegmentFromFile | 文件路径 |
姿态估计 Pose
| 接口 | 输入 |
|---|---|
| YoloPose | 屏幕区域 |
| YoloPoseFromPtr | 图像句柄 |
| YoloPoseFromFile | 文件路径 |
旋转框检测 Obb
| 接口 | 输入 |
|---|---|
| YoloObb | 屏幕区域 |
| YoloObbFromPtr | 图像句柄 |
| YoloObbFromFile | 文件路径 |
未在
ola_yolos.def导出的头文件接口(如YoloInfer、YoloWarmup)暂无对外文档页。
